package iface

import "log/slog"

// GspringLogger 定义一个日志对象
type GspringLogger interface {

	// 不允许外部自动实现该接口，必须内嵌该接口才能实现它
	gspringLog()

	// SetLogLevel 设置日志级别 [slog.Level]
	SetLogLevel(level slog.Level)

	// Debug logs at [slog.LevelDebug]
	Debug(format string, args ...any)

	// Info logs at [slog.LevelInfo]
	Info(format string, args ...any)

	// Warn logs at [slog.LevelWarn]
	Warn(format string, args ...any)

	// Error logs at [slog.LevelError]
	Error(format string, args ...any)

	// Println 直接打印
	Println(format string, v ...any)

	// Close 关闭日志
	Close()
}
